package com.lonely.deliver.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author: 黄志标
 * @date: 2025/7/24 14:08
 * @description: 查询订单发货单分页查询响应实体
 */
@Data
public class QueryOrderDeliverPageVO implements Serializable {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 订单编号
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long produceOrderId;

    /**
     * 款式颜色
     */
    private String designColor;

    /**
     * 商品sku
     */
    private String sku;

    /**
     * 订单图片
     */
    private String orderPic;

    /**
     * 发货单状态
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Integer deliverStatus;

    /**
     * 发货单号
     */
    private String deliverNumber;

    /**
     * 发货状态字符串
     */
    private String deliverStatusStr;

    /**
     * 发货尺码明细
     */
    @JsonIgnore
    private String deliveryInfo;

    /**
     * 发货件数
     */
    private Integer deliveryQty;

    /**
     * 发货尺码明细字符串
     */
    private String deliverySizeDetails;

    /**
     * 查验（质检）时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inspectionTime;

    /**
     * 入仓收货正品信息
     */
    private String qualityInfo;

    /**
     * 发货原因
     */
    private Integer reason;

    /**
     * 发货原因
     */
    private String reasonStr;

    /**
     * 退货单尺码明细
     */
    private String returnInfo;

    /**
     * 退货单尺码明细字符串
     */
    private String returnInfoStr;

    /**
     * 退货单件数
     */
    private Integer returnQty;

    /**
     * 退货单状态
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Integer returnStatus;

    /**
     * 退货单状态字符串
     */
    private String returnStatusStr;

    /**
     * 退货单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date returnTime;

    /**
     * 退货单类型
     */
    private Integer returnType;

    /**
     * 退货单类型字符串
     */
    private String returnTypeStr;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    /**
     * 入库尺码明细
     */
    private String storeInfo;

    /**
     * 入库尺码明细
     */
    private String storeInfoStr;

    /**
     * 入库时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date storeTime;

    /**
     * 入库数
     */
    private Integer storedQty;

    /**
     * JIT子订单号
     */
    private String subProduceOrderCode;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * pda计数总数
     */
    private String pdaScanCount;

    /**
     * pda计数尺码明细
     */
    private String pdaScanSizeInfoStr;
}
